NAND flash memory, as well as other types of non-volatile memories (“NVMs”), are commonly used for mass storage. For example, consumer electronics such as portable media players often include flash memory to store music, videos, and other media.
An NVM can include multiple super blocks, where each super block can be organized into several blocks. Similarly, each block of the NVM can be organized into several pages. However, some information or statistics regarding the content of the NVM may be provided at a block-level “granularity.” In other words, such information may only be available regarding the block as a whole, without providing particular information regarding individual pages within that block.
This block level granularity limits a NVM system's ability to weave data within the blocks in a manner that maintains data coherency. Without data coherency, certain NVM operations such as rollback, wear leveling, garbage collection may not be executable. Accordingly, what is needed is an ability to weave data within blocks in a coherent manner.